How to build a simple static blogging website like this!

Quick Start
Author

Dun Zhang

Published

June 19, 2025

Why building a blogging website?

  • Knowledge understanding is further enhanced by writing.
  • Sharing knowledge with others is a great way to help them.
  • Absolute control of my website is guaranteed.
  • Websites are accessible as long as one has a browser and internet connection.

Overview of how this website is built

  • All the content of this website is written with Python and Markdown language in Jupyter Notebooks using .ipynb file.
  • Notebook files are converted to HTML using Quarto.
  • HTML files are hosted in Github Pages (a static web server).

Tips

  • Quarto is recommended by fast.ai. Everyhing is just so easy with Quarto.
  • Go to the official website of Quarto to learn how to use it. Follow “Quickstart” section, “Building a Blogging Website” section, and “Publishing a Website on Github Pages” section.
  • Note that Quarto is recommended for users who are familiar with Python and Markdown language written in Jupyter Notebooks.
  • Everything is recommended to be done in a new enviroment other than the base (boot) environment.
  • Although some dynamic logic functions are supported in Quarto, I do not recommend to use since many minor problems exist which may frustrate you. Just regard this website as a static website.
  • For prototyping deployment, I recommend to generate the web app by using Gradio (providing web UI) with Hugging Face Spaces (providing free server). Then, write a hyperlink to the app website in this blogging website.

I will not provide detailed instructions on how to use Quarto here, as it is well documented in the official website. Instead, I will provide a few commonly used syntaxes in daily posting after I have built this blogging website.

Every new post should be named index.ipynb stored in a new directory under the posts directory. At the top of each post, there is a YAML header that contains metadata about the post, such as title, date, and tags, that is in the following format:

---
title: "How to build a simple static blogging website like this!"
author: "Dun Zhang"
date: "2025-06-19"
categories: [Quick Start]
jupyter: python3
---

Some commonly used commands are

quarto render
quarto render --execute
quarto preview